vulkan: Don't pass texture coordinates to the color pipeline
authorBenjamin Otte <otte@redhat.com>
Sun, 18 Dec 2016 04:59:56 +0000 (05:59 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 20 Dec 2016 17:01:11 +0000 (18:01 +0100)
gsk/gskvulkancolorpipeline.c
gsk/resources/vulkan/color.frag.glsl
gsk/resources/vulkan/color.frag.spv
gsk/resources/vulkan/color.vert.glsl
gsk/resources/vulkan/color.vert.spv

index b7dc8f4ccbd740e17527ed545d2396f2dbdeca67..6702537896966d7bd4a7f98aedba2f708d6a0156 100644 (file)
@@ -13,8 +13,6 @@ struct _GskVulkanVertex
 {
   float x;
   float y;
-  float tex_x;
-  float tex_y;
 };
 
 G_DEFINE_TYPE (GskVulkanColorPipeline, gsk_vulkan_color_pipeline, GSK_TYPE_VULKAN_PIPELINE)
@@ -25,7 +23,7 @@ gsk_vulkan_color_pipeline_get_input_state_create_info (GskVulkanPipeline *self)
   static const VkVertexInputBindingDescription vertexBindingDescriptions[] = {
       {
           .binding = 0,
-          .stride = 4 * sizeof (float),
+          .stride = sizeof (GskVulkanVertex),
           .inputRate = VK_VERTEX_INPUT_RATE_VERTEX
       }
   };
@@ -35,12 +33,6 @@ gsk_vulkan_color_pipeline_get_input_state_create_info (GskVulkanPipeline *self)
           .binding = 0,
           .format = VK_FORMAT_R32G32_SFLOAT,
           .offset = 0,
-      },
-      {
-          .location = 1,
-          .binding = 0,
-          .format = VK_FORMAT_R32G32_SFLOAT,
-          .offset = 2 * sizeof (float),
       }
   };
   static const VkPipelineVertexInputStateCreateInfo info = {
@@ -98,12 +90,12 @@ gsk_vulkan_color_pipeline_collect_vertex_data (GskVulkanColorPipeline *pipeline,
 {
   GskVulkanVertex *vertices = (GskVulkanVertex *) data;
 
-  vertices[0] = (GskVulkanVertex) { rect->origin.x,                    rect->origin.y,                     0.0, 0.0 };
-  vertices[1] = (GskVulkanVertex) { rect->origin.x + rect->size.width, rect->origin.y,                     1.0, 0.0 };
-  vertices[2] = (GskVulkanVertex) { rect->origin.x,                    rect->origin.y + rect->size.height, 0.0, 1.0 };
-  vertices[3] = (GskVulkanVertex) { rect->origin.x,                    rect->origin.y + rect->size.height, 0.0, 1.0 };
-  vertices[4] = (GskVulkanVertex) { rect->origin.x + rect->size.width, rect->origin.y,                     1.0, 0.0 };
-  vertices[5] = (GskVulkanVertex) { rect->origin.x + rect->size.width, rect->origin.y + rect->size.height, 1.0, 1.0 };
+  vertices[0] = (GskVulkanVertex) { rect->origin.x,                    rect->origin.y };
+  vertices[1] = (GskVulkanVertex) { rect->origin.x + rect->size.width, rect->origin.y };
+  vertices[2] = (GskVulkanVertex) { rect->origin.x,                    rect->origin.y + rect->size.height };
+  vertices[3] = (GskVulkanVertex) { rect->origin.x,                    rect->origin.y + rect->size.height };
+  vertices[4] = (GskVulkanVertex) { rect->origin.x + rect->size.width, rect->origin.y };
+  vertices[5] = (GskVulkanVertex) { rect->origin.x + rect->size.width, rect->origin.y + rect->size.height };
 }
 
 gsize
index 952f9b7f21edcce5e9adb94c259dd7a5ce89b27f..fba9e47120038428e0ca7f3c057f34e5db58414b 100644 (file)
@@ -1,7 +1,5 @@
 #version 420 core
 
-layout(location = 0) in vec2 inTexCoord;
-
 layout(set = 0, binding = 0) uniform sampler2D inTexture;
 
 layout(push_constant) uniform PushConstants {
index 45ffde52a7ccbff22fd6fa2eeff2774fd29b74c5..beee876b1766f81a3300a7044cc4aefc323d0e0c 100644 (file)
Binary files a/gsk/resources/vulkan/color.frag.spv and b/gsk/resources/vulkan/color.frag.spv differ
index 2522b7e0ef4eaba4ed5ddbbc551cfbb85d77999e..849d5cd51701735e600ef0fe8b487c20f21217f9 100644 (file)
@@ -1,19 +1,15 @@
 #version 420 core
 
 layout(location = 0) in vec2 inPosition;
-layout(location = 1) in vec2 inTexCoord;
 
 layout(push_constant) uniform PushConstants {
     mat4 mvp;
 } push;
 
-layout(location = 0) out vec2 outTexCoord;
-
 out gl_PerVertex {
   vec4 gl_Position;
 };
 
 void main() {
   gl_Position = push.mvp * vec4 (inPosition, 0.0, 1.0);
-  outTexCoord = inTexCoord;
 }
index 3deee1c8e2a792b01265279178a88a50f7f957a9..a7ca96a42546d99e7319d7539ab79b1befc0fc84 100644 (file)
Binary files a/gsk/resources/vulkan/color.vert.spv and b/gsk/resources/vulkan/color.vert.spv differ